﻿using Host.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Host.InfrasIntructure.Interface
{
    public  interface IEFCoreSensorDataRepository : IBaseRepository<SensorData>
    {
        /// <summary>
        /// 根据换热站ID获取最新的传感器数据。
        /// </summary>
        /// <param name="stationId">换热站ID。</param>
        /// <returns>返回最新的传感器数据实体。</returns>
        Task<SensorData> GetLatestByStationIdAsync(int stationId);

        /// <summary>
        /// 根据日期范围和换热站ID获取历史传感器数据。
        /// </summary>
        /// <param name="stationId">换热站ID。</param>
        /// <param name="startDate">开始日期。</param>
        /// <param name="endDate">结束日期。</param>
        /// <returns>返回传感器数据列表。</returns>
        Task<List<SensorData>> GetByDateRangeAndStationIdAsync(int stationId, DateTime startDate, DateTime endDate);
    }
}
